package org.aphelie.romancer.util;

import org.aphelie.romancer.util.message.Messager;
import org.aphelie.romancer.util.message.impl.MessagerImpl;
import org.eclipse.core.runtime.Plugin;

public abstract class AbstractRomancerPlugin extends Plugin {
	
	
	
	

	private Messager messager;

	/**
	 * Constructor.
	 * <p>
	 * This singleton class 
	 * is not supposed to be instantiated the users.
	 * </p>
	 */
	protected AbstractRomancerPlugin() {
		messager = (Messager) new MessagerImpl(this);
	}
	
	
	

	
	
	

	
    public String getString(String key) {
        return messager.getString(key);
    }
	
    public String getString(String key, String defaultValue) {
        return messager.getString(key, defaultValue);
    }

    public String getString(String id, String key, String defaultValue) {
        return messager.getString(id, key, defaultValue);
    }

    public String getFormattedString(String key, Object[] args, String defaultValue) {
        return messager.getFormattedString(key, args, defaultValue);
    }

    public String getFormattedString(String id, String key, Object[] args, String defaultValue) {
        return messager.getFormattedString(id, key, args, defaultValue);
    }

    public String getFormattedString(String key, Object[] args) {
        return messager.getFormattedString(key, args);
    }



}
